let baseOption = {
    title: {
      text: ''
    },
    tooltip: {
      trigger: 'axis'
    },
    dataZoom: [
      {
        xAxisIndex: [0],
        filterMode:'filter'
      }
    ],
    legend: {
      data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine']
    },
    grid: {
      left: '3%',
      right: '4%',
      bottom: '3%',
      containLabel: true
    },
    toolbox: {
      feature: {
        saveAsImage: {}
      }
    },
    xAxis: {
      type: 'category',
      boundaryGap: false,
      data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
    },
    yAxis: {
      type: 'value'
    },
    series: [
      {
        name: 'Email',
        type: 'line',
        stack: 'Total',
        data: [120, 132, 101, 134, 90, 230, 210]
      },
      {
        name: 'Union Ads',
        type: 'line',
        stack: 'Total',
        data: [220, 182, 191, 234, 290, 330, 310]
      },
      {
        name: 'Video Ads',
        type: 'line',
        stack: 'Total',
        data: [150, 232, 201, 154, 190, 330, 410]
      },
      {
        name: 'Direct',
        type: 'line',
        stack: 'Total',
        data: [320, 332, 301, 334, 390, 330, 320]
      },
      {
        name: 'Search Engine',
        type: 'line',
        stack: 'Total',
        data: [820, 932, 901, 934, 1290, 1330, 1320]
      }
    ]
};

function setLegend(data) {
  baseOption.legend.data = data;
}

function setDates(data) {
  baseOption.xAxis.data = data;
}

function calDates(data) {

  let keys = Object.keys(data);

  let key = ""
  let length = 0
  // 找出数据最多的为基准
  for (let i = 0; i < keys.length; i++) {
    let item = data[keys[i]]
    if (item.length > length) {
      length = item.length
      key = keys[i]
    }
  }

  // 拼接日期
  let dates = []
  data[key].forEach(element => {
    dates.push(element.date);
  });

  return dates
}

// 多支股票画线
export function builtMultiLineEchartOption(data) {

  let keys = Object.keys(data);
  setLegend(keys);

  // 拼接日期
  let dates = calDates(data);
  setDates(dates);

  // 设置数据
  baseOption.series = [];
  for (let i = 0; i < keys.length; i++) {
    let key = keys[i];

    let item = data[key];

    let values = []
    item.forEach(element => {
      values.push(element.levelPoint);
    });
    // 补全
    while (values.length < dates.length) {
      values.unshift(0);
    }

    baseOption.series.push({
      name: key,
      type: 'line',
      data: values
    })
  }

  return baseOption;
}